Internet usage has exploded over the past several years and continues to grow. People have become very comfortable with many services offered on the World Wide Web (or simply “Web”), such as electronic mail, online shopping, gathering news and other information, listening to music, viewing video clips, looking for jobs, and so forth. To keep pace with the growing demand for Internet-based services, there has been tremendous growth in the computer systems dedicated to hosting Web sites, providing backend services for those sites, and storing data associated with those sites.
One type of distributed computer system is an Internet data center (IDC), which is a specifically designed center that houses many computers for hosting Internet-based services. IDCs, which are also referred to as “Web farms” or “server farms”, typically contain hundreds to thousands of computers in climate-controlled, physically secure buildings. These computers are interconnected to run one or more programs supporting one or more Internet services or Web sites. IDCs provide reliable Internet access, reliable power supplies, and a secure operating environment.
A particular data center may include, for example, multiple computers (such as general purpose computers), multiple storage devices and multiple data handling devices, such as routers, hubs, gateways and switches. The various devices and computers are interconnected with each other and other networks, such as the Internet, thereby allowing the communication of data between various devices in the data center.
Existing systems utilize a significant amount of manual control of the computers and other devices in a data center. For example, when a new resource (such as a computer system) is added to a data center, certain manual steps may be performed to configure the new resource and to notify other devices in the data center of the availability of the new resource. These manual operations are time-consuming and may not be performed for some time if an administrator is busy with other tasks.
Accordingly, there is a need for improved techniques for discovering network topologies and managing various devices in a network.